// Decompiled by Jad v1.5.8f. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://www.kpdus.com/jad.html
// Decompiler options: packimports(3) 
// Source File Name:   PublicacionesAction.java

package org.fiel.struts.actions;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.http.*;
import org.apache.struts.action.*;
import org.fiel.commons.jdbc.*;
import org.fiel.persistence.InformacionPersistor;

// Referenced classes of package org.fiel.struts.actions:
//            FielAction

public class PublicacionesAction extends FielAction
{

    public PublicacionesAction()
    {
    }

    public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response)
        throws IOException, ServletException
    {
        String strTipo = request.getParameter("tipo");
        Integer tipo = new Integer(0);
        if(strTipo != null)
            tipo = new Integer(strTipo);
        String rol = obtenerRol(request);
        List resultados = getResultados(rol, tipo);
        request.getSession().setAttribute("libros", resultados);
        ActionForward retorno;
        switch(tipo.intValue())
        {
        case 1: // '\001'
            retorno = mapping.findForward("listarLibros");
            break;

        case 5: // '\005'
            retorno = mapping.findForward("listarreseacteco");
            break;

        case 2: // '\002'
            retorno = mapping.findForward("listarDocsDeTrabajo");
            break;

        case 7: // '\007'
            retorno = mapping.findForward("fmf");
            break;

        case 8: // '\b'
            retorno = mapping.findForward("enconomiaEnGraficos");
            break;

        case 9: // '\t'
            retorno = mapping.findForward("listarCursos");
            break;

        case 10: // '\n'
            retorno = mapping.findForward("listarNovedades");
            break;

        case 11: // '\013'
            retorno = mapping.findForward("partesDePrensa");
            break;

        case 12: // '\f'
            retorno = mapping.findForward("fielWatch");
            break;

        case 16: // '\020'
            retorno = mapping.findForward("listarSeminarios");
            break;

        case 3: // '\003'
        case 4: // '\004'
        case 6: // '\006'
        case 13: // '\r'
        case 14: // '\016'
        case 15: // '\017'
        default:
            retorno = mapping.findForward("error");
            break;
        }
        return retorno;
    }

    protected List getResultados(String rol, Integer tipo)
    {
        Finder persistor = new InformacionPersistor();
        ArrayList ls = new ArrayList();
        ls.add(new Constraint("identipo", "=", tipo));
        ls.add(new FunctionInstrConstraint("nivel", rol));
        List resultados = persistor.FindAll(ls);
        return resultados;
    }
}
